Fully or partially automated media libraries, sometimes referred to herein as “libraries” or “robots”, are available to store and manipulate removable storage media, such as tapes used to store computer data for backup or archive purposes. A typical library may be equipped with a robotic or other mechanism for manipulating the media stored therein, such as by inserting a selected volume or unit of the media (e.g., a particular tape) into a read/write device associated with the unit, e.g., a tape drive configured to write data to and/or read data from the media. In the computer network environment, e.g., a backup application (sometimes referred to herein as “data mover”) may be used to store data from one or more computers or other devices connected to the network (sometimes referred to herein as network “nodes” or “hosts”) on storage media associated with a library.
For a large network, or in cases in which nodes on the network use a variety of different applications and/or hardware platforms, or where the nature of the data is diverse, or simply as a result of separate purchasing decisions being made over time and/or by separate subsets of the group of users served by the network, it is possible to have two or more different backup applications in place. For similar reasons, a particular network may have associated with it more than one library, possibly of different types, and a plurality of storage devices associated with each library. In addition, the hosts associated with the various storage devices may be connected to those devices in different ways, and the hosts themselves may be of different platform types (e.g., different operating systems).
Given this potential diversity of storage media resources and backup applications, there is a possibility that multiple competing requests will be made for a common resource, such as a resource associated with a library. There is therefore a need for a straightforward and efficient way to coordinate multiple media requests.